#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import base64
import httplib, urllib,urllib2
from weather import Weather
from dict import Dict
from astro import Astro
from stock import Stock


HELPMENU='帮助目录: 1.天气, 2.星座, 3.词典, 4.股票 输入序号获取帮助, 详细信息请访问: http://code.google.com/p/della-bot/wiki/Introduction'
WEATHER='天气查询格式:"天气 空格 城市名(中文)"，即可查询最近三天的天气情况，(例: 天气 广州)'
ASTRO='星座查询格式:"星座 空格 星座名 空格 今天(或明天)"，即可查询今日(明日)星座运程，如果缺省日期设定则默认为今日运程 (例：星座 射手座 今天 或 星座 射手座 )'
DICT='词典查询格式:"词典 空格 中文或英文单词"，即可查询此单词 (例：词典 Della)'
STOCK='股票查询格式:"股票 空格 交易所股票代码"，即可查询今日股票走势，注:上证交易所以sh开头，深证交易所以sz开头，再加上股票代码 (例: 股票 sh000001 即查询上证指数走势)'

# HELP DICT
HELP={'help':HELPMENU,'帮助':HELPMENU,'?':HELPMENU,'？':HELPMENU,
      'weather':WEATHER,'天气':WEATHER,'1':WEATHER,
      'astro':ASTRO,'星座':ASTRO,'2':ASTRO,
      'dict':DICT,'词典':DICT,'3':DICT,
      'stock':STOCK,'股票':STOCK,'4':STOCK}


class DService():

    def __init__(self,command):
        self._command=command.encode('utf-8')


    def parseCommand(self):
        # Check if it is the command to get helpmenu     
        if(len(self._command.split(' '))==1 and len(self._command.split('-'))==1):
            return [self.getHelp()]
        else:
            respon=['pass']
            if(len(self._command.split(' '))<>1):
                cutline=' '
                query=self._command.split(' ')
            else:
                cutline='-'
                query=self._command.split('-')
            if(query[0]=='天气' or query[0].lower()=='weather'):
                weather=Weather(query[1])
                respon=weather.getWeather()           
            elif(query[0]=='星座' or query[0].lower()=='astro'):
                astro=Astro(query)
                respon=astro.getAstro()
            elif(query[0]=='词典' or query[0].lower()=='dict' or query[0]=='辞典' or query[0]=='翻译'):
                dict=Dict(cutline.join(query[1:]))
                respon=dict.getWord()
            elif(query[0]=='股票' or query[0].lower()=='stock'):
                stock=Stock(query[1])
                respon=stock.getStock()
            return respon


    def getHelp(self):
        if(self._command.lower() in HELP):
            return HELP[self._command]
        else:
            return 'pass'
            
        
